<?php

class SON_Forms_Cidade extends Zend_Form
{
    public function init()
    {
        $this->setMethod('post');
        
        $id = new Zend_Form_Element_Hidden('id');
        $id->addFilter('Int');
        $this->addElement($id);
    
        $nome = new Zend_Form_Element_Text('nome');
        $nome->setRequired(true)
            ->addFilter('StripTags')
            ->addFilter('StringTrim')
            ->addValidator('NotEmpty', true, array('messages' => 'Informe um nome'))
            ->setAttrib('class', 'form-control')
            ->setAttrib('placeholder', 'Nome')
        	->setAttrib('required', 'required');
        $this->addElement($nome);
        
        $codigo = new Zend_Form_Element_Text('codigo');
        $codigo->setRequired(true)
	        ->addFilter('StripTags')
	        ->addFilter('StringTrim')
	        ->addValidator('NotEmpty', true, array('messages' => 'Informe um código'))
	        ->setAttrib('class', 'form-control')
	        ->setAttrib('placeholder', 'Código')
        	->setAttrib('required', 'required');
        $this->addElement($codigo);
        
        $estado = new Estado();
        $options = array('' => '-- Selecione --') + $estado->fetchPairs();
        $estado = new Zend_Form_Element_Select('estado_id');
        $estado->setRequired(true)
            ->addValidator('NotEmpty', true, array('messages' => 'Informe um estado'))
            ->setAttrib('class', 'form-control')
            ->setMultiOptions($options)
        	->setAttrib('required', 'required');
        $this->addElement($estado);
    
        $id->removeDecorator('HtmlTag')->removeDecorator('Label')->removeDecorator('Errors');
        $nome->removeDecorator('HtmlTag')->removeDecorator('Label')->removeDecorator('Errors');
        $codigo->removeDecorator('HtmlTag')->removeDecorator('Label')->removeDecorator('Errors');
        $estado->removeDecorator('HtmlTag')->removeDecorator('Label')->removeDecorator('Errors');
    }
    
    public function setAsEditForm(array $data)
    {
        $this->populate($data);
        
        return $this;
    }
}